Personalized content from indexed archives

ABSTRACT

Personalized content is generated from different media items using a content index. The content index is generated or updated by identifying segments of media items that are of particular interest to users. User interactions with the media items are analyzed and metadata of segments of media items that are determined to be of particular interest to the users is recorded. The parameters associated with a request for personalized content for a user are matched with the recorded metadata to identify relevant media items or segments of media items which are transmitted to the user as the personalized content.

The present disclosure relates to generating personalized content fromdifferent media items.

BACKGROUND

Developments in science and technology have lead to emergence of variousmedia for content delivery which include text, audio and video media.Each of these media progressively consumes greater resources with thevideo data taking up the most resources in terms of storage anddelivery. Increasing bandwidths and processing powers are enablingpeople to access and consume content such as videos not only fromtraditional devices such as, televisions but also from their computers,laptops and mobile phones. However, the sheer volume of content that isgenerally available and the busy lifestyles of modern consumers permitsthem little time to view all the content that they have access to.

SUMMARY

This disclosure provides for generating personalized content fromdifferent media items using systems and methodologies that create andupdate a content index that indexes media items or parts thereof basedon different criteria.

A method for indexing content is disclosed in accordance with oneembodiment. The method begins with a computing device receivinginteraction data of a plurality of users interacting with a first mediaitem in different ways. From the received interaction data, thecomputing device identifies different actions executed by the users anda respective number of users executing each of the actions. Therespective number of users for each action is compared with apredetermined threshold and at least one action whose respective numberof users exceeds the threshold is selected as a significant userinteraction. A predefined set of user interactions indicative of highuser interest in media items is received by the computing device and anextent of user interest in the first media item is determined based on acomparison of the significant user interaction with the predefined setof user interactions. The computing device further updates metadata in acontent index based on the determined extent of user interest.

In an embodiment, if it is determined that the first media item wasinteresting to the users, the computing device further determines if thefirst media item is a segment extracted from a second media item. If itis determined that the first media item is not a segment extracted fromthe second media item, the computing device extracts the segmentassociated with the significant user interaction. Initially, thestarting and ending time offsets associated with the significant userinteraction are obtained and a segment between the starting and endingtime offsets of the first media item is extracted and stored in anarchive on a data storage medium by the computing device. In addition,metadata associated with the extracted segment is obtained and a newentry is generated in the content index for storing the metadata of theextracted segment. A value of a level of interest variable for theextracted segment is also determined by the computing device based on anumber of the plurality of users associated with the significant userinteraction. If it is determined that the first media item is a segmentextracted from the second media item, the computing device updatesmetadata in a pre-existing entry in the content index associated withthe first media item based on the received interaction data.

In one embodiment, the computing device receives the second media itemfor extraction of segments. A domain-specific criterion associated withthe second media item is identified for the extraction and segmentsincluding the first media item are extracted from the second media itembased on the domain-specific criterion. If the first media item is asegment of the second media item and the metadata associated with thefirst media item can comprise a unique identifier for the first mediaitem, temporal metadata related to the first media item, entitiesassociated with the first media item, a total time period of the firstmedia item, a level of interest variable of the first media item,emotional metadata associated with the first media item, an identity ofthe second media item, a starting and ending time offsets of the firstmedia item within the second media item, an importance score of thefirst media item. In an embodiment, the metadata of the first media itemcan depend on the domain associated with the first media item. If, forexample, the first media item relates to a sporting event and themetadata further comprises an identity of sport being played, anidentity of the sporting event, and additional metadata generated basedon the sport being played. If, for example, the first media item relatesto a news event and the metadata comprises a type of news event, anidentification of the news event, entities featured in the extractedsegment, and additional metadata based on the news event. If it isdetermined by the computing device that the level of user interest inthe first media item is low, the first media item is deleted from thearchives comprising the media items.

A computing device comprising a processor, a storage medium for tangiblystoring thereon program logic for execution by the processor aredisclosed in accordance with one embodiment. The logic executed by theprocessor comprises receiving logic, for receiving interaction data of aplurality of users interacting with a first media item, identifyinglogic, for identifying a significant user interaction in the interactiondata of the plurality of users, obtaining logic, for obtaining apredefined set of user interactions indicative of high user interest inmedia items, determining logic, for determining an extent of userinterest in the first media item based on a comparison of thesignificant user interaction with the predefined set of userinteractions and updating logic, for updating metadata in a contentindex based on the determined extent of user interest. In an embodiment,the identifying logic which identifies the significant user interactionfurther comprises user interactions identifying logic, for identifyingvarious user interactions in the received interaction data, comparinglogic, for comparing a respective number of users executing each of theuser interactions with a predetermined threshold and selecting logic,for selection of at least one of the user interactions whose respectivenumber of users exceeds the threshold as the significant userinteraction.

In an embodiment, if it is determined that the first media item wasinteresting to the users, the processor also executes segmentdetermining logic, for determining if the first media item is a segmentextracted from a second media item. If it is determined that the firstmedia item is not a segment extracted from the second media item, theprocessor executes time offset obtaining logic, for obtaining startingand ending time offsets associated with the significant userinteraction, extracting logic, for extracting a segment between thestarting and ending time offsets of the first media item and segmentstoring logic, for storing the extracted segment in an archive.Additionally, the processor also executes segment metadata obtaininglogic for obtaining metadata of the extracted segment, entry generatinglogic, for generating a new entry in the content index corresponding tothe extracted segment and metadata storing logic for storing themetadata obtained for the extracted segment in the new entry. A level ofinterest determining logic is executed by the processor, for determiningvalue of a level of interest variable for the extracted segment based ona respective number of the plurality of users associated with thesignificant user interaction. Metadata updating logic, executed by theprocessor, updates metadata in a pre-existing entry in the content indexassociated with the first media item if it is determined that the firstmedia item is a segment extracted from the second media item.

In an embodiment, media item receiving logic, executed by the processor,receives the second media item for extraction of segments whereincriterion identifying logic also executed by the processor, identifies adomain-specific criterion associated with the second media item for theextraction. The processor also executes extracting logic, for extractingthe segments comprising at least the first media item from the secondmedia item based on the domain-specific criterion.

A computer readable storage medium, having stored thereon, instructionsexecutable by a processor is disclosed in accordance with oneembodiment. The instructions cause the processor to receive interactiondata of a plurality of users interacting with a first media item,identify a significant user interaction in the interaction data of theplurality of users, obtain a predefined set of user interactionsindicative of high user interest in media items, determine an extent ofuser interest in the first media item based on a comparison of thesignificant user interaction with the predefined set of userinteractions and update metadata in a content index based on thedetermined extent of user interest. In addition, the processor alsodetermines whether the first media item is a segment extracted from asecond media item if it is determined that the first media item wasinteresting to the users. If it is determined that the first media itemis not a segment extracted from the second media item, the instructionsfurther cause the processor to obtain starting and ending time offsetsassociated with the significant user interaction, extract a segmentbetween the starting and ending time offsets of the first media item,store the extracted segment in an archive and obtain metadata of theextracted segment. The processor then executes instructions to generatea new entry in the content index corresponding to the extracted segmentand store the metadata obtained for the extracted segment in the newentry. In an embodiment, the instructions further cause the processor toupdate metadata in a pre-existing entry in the content index associatedwith the first media item if it is determined that the first media itemis a segment extracted from the second media item. In an embodiment, theprocessor also executes instructions to receive the second media itemfor extraction of segments, identify a domain-specific criterionassociated with the second media item for the extraction, and extractthe segments comprising at least the first media item from the secondmedia item based on the domain-specific criterion.

A method of providing personalized content is disclosed in accordancewith one embodiment. The method begins with receiving, by a computingdevice, a request for personalized content. Upon receiving the request,the computing device obtains parameters associated with the request andaccesses a content index comprising metadata associated with mediaitems. A plurality of the media items with metadata that match at leasta subset of the parameters are identified by the computing device,wherein the plurality of media items are segments extracted fromdisparate ones of the media items. In an embodiment, the plurality ofmedia items are selected from a group consisting of audio items andvideo items. Respective values of a level of interest variable for eachof the plurality of media items are retrieved. The values are indicativeof a likely extent of user interest in each of the plurality of mediaitems. At least a subset of the plurality of media items are selected bythe computing device for inclusion into the personalized content, basedon the respective values of the level of interest variable. In anembodiment, the parameters obtained from the user request, furthercomprise a number of media items to be included in the personalizedcontent, a time period of each of the subset of media items, and a totaltime period of the personalized content. In an embodiment, the computingdevice selects for inclusion into the personalized content, the subsetof the plurality of media items that comprise the respective values thatare indicative of a high level of user interest and transmits thepersonalized content comprising the selected ones of the plurality ofmedia items to the user. In an embodiment, the computing device furtherdetects user actions executed as a user consumes the personalizedcontent and updates the respective values for the level of interestvariable based on the detected user actions.

In an embodiment, the computing device can obtain a criterion forarranging the subset of media items in the personalized content to betransmitted to the user. The criteria for arranging the subset of mediaitems can comprise temporal data specifying a temporal sequence forordering the subset of media items, a user ordered list of entities orcombinations thereof. Accordingly, the computing device arranges thesubset of media items based on the identified criterion. In anembodiment, the subset of media items are selected as the personalizedcontent to be transmitted to the user based on respective importancescores. The respective importance scores are indicative of importance ofcontent in each of the subset of media items to proceedings featured inrespective media items from which the subset of media items areextracted.

A computing device comprising a processor and a storage medium fortangibly storing thereon program logic for execution by the processor isdisclosed in accordance with an embodiment. The processor executes logicfor receiving a request for personalized content, obtaining parametersassociated with the request, accessing a content index comprisingmetadata associated with media items and identifying a plurality of themedia items with metadata that match at least a subset of theparameters. In an embodiment, the plurality of media items are segmentsextracted from disparate ones of the media items. The processor furtherexecutes logic for obtaining respective values of a level of interestvariable for each of the plurality of media items, wherein the valuesare indicative of a likely extent of user interest in each of theplurality of media items. Selecting logic, is executed by the processor,for selecting at least a subset of the plurality of media items forinclusion into the personalized content, based on the respective valueswhich personalized content comprising the subset of media items istransmitted to the user by the transmitting logic executed by theprocessor. In an embodiment, the processor executes logic for selectingthe subset of the plurality of media items comprising the respectivevalues that are indicative of a high level of user interest. Theprocessor also executes user interaction receiving logic, for receivinginformation regarding user actions executed as a user consumes thepersonalized content and updating logic is executed by the processor,for updating the respective values for the level of interest variablefor the subset of media items based on the detected user actions. In anembodiment, criteria identifying logic is executed by the processor, foridentifying a criterion for arranging the subset of media items in thepersonalized content to be transmitted to the user. Based on theidentified criterion, arranging logic is executed by the processor, forarranging the subset of media items in the personalized contenttransmitted to the user. The criterion for arranging the subset of mediaitems can comprise temporal data specifying a temporal sequence forordering the plurality of media items or a ordered list of entitiesselected and/or ordered by the user. In an embodiment, the selectinglogic further comprises, importance score selecting logic, executed bythe processor, for selecting the subset of media items as thepersonalized content based on respective importance scores, therespective importance scores are indicative of importance of content ineach of the subset of media items to proceedings featured in respectivemedia items from which the subset of media items are extracted.

A computer readable storage medium, having stored thereon, instructionsfor execution by a processor, are disclosed in accordance with anembodiment. The instructions cause the processor to receive a requestfor personalized content, obtain parameters associated with the request,access a content index comprising metadata associated with media itemsand identify a plurality of the media items with metadata that match atleast a subset of the parameters. In an embodiment, the plurality ofmedia items are segments extracted from disparate ones of the mediaitems. The processor further obtains respective values of a level ofinterest variable for each of the plurality of media items, wherein thevalues are indicative of a likely extent of user interest in each of theplurality of media items, selects at least a subset of the plurality ofmedia items for inclusion into the personalized content, based on therespective values and transmits the personalized content comprising thesubset of media items to the user. In an embodiment, the instructionscause the processor to select for inclusion into the personalizedcontent, the subset of the plurality of media items that comprise therespective values that are indicative of a high level of user interest.In an embodiment, the instructions further cause the processor toreceive information associated with user actions executed as a userconsumes the personalized content and update the respective values forthe level of interest variable based on the detected user actions. In anembodiment, the processor selects the subset of media items as thepersonalized content transmitted to the user based on respectiveimportance scores, the respective importance scores are indicative ofimportance of content in each of the subset of media items toproceedings featured in respective media items from which the subset ofmedia items are extracted.

A method for providing personalized content is disclosed in accordancewith one embodiment. The method begins with displaying, by a computingdevice on a display medium, a personalized user interface comprisinginformation associated with a plurality of entities previously selectedby a user. A current user selection of one of the plurality of entitiesis received and transmitted by the computing device to a personalizedcontent provider. Personalized content associated with the current userselection, is received by the computing device which personalizedcontent comprises a plurality of media segments extracted from mediaitems featuring the user selected entity, wherein each of the pluralityof media segments has a respective value of a level of interest variableindicative of high user interest. The received personalized content isdisplayed to the user by the computing device. The computing devicefurther receives and transmits to the content provider, informationregarding a user interaction with the personalized content during thedisplay of the personalized content.

A computing device comprising a processor and a storage medium fortangibly storing thereon program logic for execution by the processor isdisclosed in accordance with an embodiment. The program logic comprises,interface display logic, for displaying, a personalized user interfaceassociated with a content provider and comprising regarding a pluralityof entities previously selected by a user on a display medium. Currentselection receiving logic, is executed by a processor, for receiving acurrent user selection of one of the plurality of entities. Currentselection transmitting logic, is executed by a processor, fortransmitting the current user selection to the content provider.Receiving logic, is executed by a processor, for receiving from thecontent provider, personalized content associated with the current userselection and personalized content display logic, is executed by aprocessor, for displaying the received personalized content to the user.In an embodiment, programming logic is further executed by a processor,for receiving and transmitting to the content provider, informationregarding a user interaction with the personalized content during thedisplay of the personalized content.

These and other embodiments and embodiments will be apparent to those ofordinary skill in the art by reference to the following detaileddescription and the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

In the drawing figures, which are not to scale, and where like referencenumerals indicate like elements throughout the several views:

FIG. 1 is a block diagram of an embodiment wherein a computing device orclient device communicates with a server computer in accordance with anembodiment of the present disclosure;

FIG. 2 is a block diagram depicting certain modules within the contentproviding engine in accordance with an embodiment of the presentdisclosure;

FIG. 3 is a block diagram depicting certain modules within thepersonalized content generating module in accordance with an embodimentof the present disclosure;

FIG. 4a shows a flow chart illustrating an embodiment of a method ofgenerating a content index in accordance with one embodiment;

FIG. 4b shows a flowchart illustrating an embodiment of a method ofgenerating or updating a content index in accordance with oneembodiment;

FIG. 5 shows a flowchart illustrating an embodiment of a method ofobtaining significant user interaction data in accordance with anembodiment;

FIG. 6 shows a flowchart illustrating an embodiment of a method ofidentifying interesting segments of media items in accordance with oneembodiment;

FIG. 7a shows a flowchart illustrating an embodiment of a method ofgenerating personalized content in accordance with one embodiment;

FIG. 7b shows a flowchart illustrating an embodiment of a method ofproviding personalized content in accordance with one embodiment;

FIG. 8a is a schematic diagram illustrating a data structure comprisingdomain-specific metadata associated with basketball games in accordancewith an embodiment of the present disclosure;

FIG. 8b is a schematic diagram illustrating a data structure comprisingdomain-specific metadata associated with baseball games in accordancewith one embodiment;

FIG. 9 is an illustration showing a media player playing a videorecording of a sporting event in accordance with one embodiment;

FIG. 10 shows internal architecture of a computing device which includesone or more processing units (also referred to herein as CPUs), whichinterface with at least one computer bus in accordance with oneembodiment of the present disclosure;

FIG. 11 is a schematic diagram illustrating a client deviceimplementation of a computing device in accordance with embodiments ofthe present disclosure.

DESCRIPTION OF EMBODIMENTS

Subject matter will now be described more fully hereinafter withreference to the accompanying drawings, which form a part hereof, andwhich show, by way of illustration, specific example embodiments.Subject matter may, however, be embodied in a variety of different formsand, therefore, covered or claimed subject matter is intended to beconstrued as not being limited to any example embodiments set forthherein; example embodiments are provided merely to be illustrative.Likewise, a reasonably broad scope for claimed or covered subject matteris intended. Among other things, for example, subject matter may beembodied as methods, devices, components, or systems. Accordingly,embodiments may, for example, take the form of hardware, software,firmware or any combination thereof (other than software per se). Thefollowing detailed description is, therefore, not intended to be takenin a limiting sense.

In the accompanying drawings, some features may be exaggerated to showdetails of particular components (and any size, material and similardetails shown in the figures are intended to be illustrative and notrestrictive). Therefore, specific structural and functional detailsdisclosed herein are not to be interpreted as limiting, but merely as arepresentative basis for teaching one skilled in the art to variouslyemploy the disclosed embodiments.

The present invention is described below with reference to blockdiagrams and operational illustrations of methods and devices to selectand present media related to a specific topic. It is understood thateach block of the block diagrams or operational illustrations, andcombinations of blocks in the block diagrams or operationalillustrations, can be implemented by means of analog or digital hardwareand computer program instructions. These computer program instructionscan be provided to a processor of a general purpose computer, specialpurpose computer, ASIC, or other programmable data processing apparatus,such that the instructions, which execute via the processor of thecomputer or other programmable data processing apparatus, implements thefunctions/acts specified in the block diagrams or operational block orblocks.

In some alternate implementations, the functions/acts noted in theblocks can occur out of the order noted in the operationalillustrations. For example, two blocks shown in succession can in factbe executed substantially concurrently or the blocks can sometimes beexecuted in the reverse order, depending upon the functionality/actsinvolved. Furthermore, the embodiments of methods presented anddescribed as flowcharts in this disclosure are provided by way ofexample in order to provide a more complete understanding of thetechnology. The disclosed methods are not limited to the operations andlogical flow presented herein. Alternative embodiments are contemplatedin which the order of the various operations is altered and in whichsub-operations described as being part of a larger operation areperformed independently.

For the purposes of this disclosure the term “server” should beunderstood to refer to a service point which provides processing,database, and communication facilities. By way of example, and notlimitation, the term “server” can refer to a single, physical processorwith associated communications and data storage and database facilities,or it can refer to a networked or clustered complex of processors andassociated network and storage devices, as well as operating softwareand one or more database systems and applications software which supportthe services provided by the server.

For the purposes of this disclosure a “network” should be understood torefer to a network that may couple devices so that communications may beexchanged, such as between a server and a client device or other typesof devices, including between wireless devices coupled via a wirelessnetwork, for example. A network may also include mass storage, such asnetwork attached storage (NAS), a storage area network (SAN), or otherforms of computer or machine readable media, for example. A network mayinclude the Internet, one or more local area networks (LANs), one ormore wide area networks (WANs), wire-line type connections, wirelesstype connections, cellular or any combination thereof. Likewise,sub-networks, such as may employ differing architectures or may becompliant or compatible with differing protocols, may interoperatewithin a larger network. Various types of devices may, for example, bemade available to provide an interoperable capability for differingarchitectures or protocols. As one illustrative example, a router mayprovide a link between otherwise separate and independent LANs.

A communication link or channel may include, for example, analogtelephone lines, such as a twisted wire pair, a coaxial cable, full orfractional digital lines including T1, T2, T3, or T4 type lines,Integrated Services Digital Networks (ISDNs), Digital Subscriber Lines(DSLs), wireless links including satellite links, or other communicationlinks or channels, such as may be known to those skilled in the art.Furthermore, a computing device or other related electronic devices maybe remotely coupled to a network, such as via a telephone line or link,for example.

A computing device may be capable of sending or receiving signals, suchas via a wired or wireless network, or may be capable of processing orstoring signals, such as in memory as physical memory states, and may,therefore, operate as a server. Thus, devices capable of operating as aserver may include, as examples, dedicated rack-mounted servers, desktopcomputers, laptop computers, set top boxes, integrated devices combiningvarious features, such as two or more features of the foregoing devices,or the like. Servers may vary widely in configuration or capabilities,but generally a server may include one or more central processing unitsand memory. A server may also include one or more mass storage devices,one or more power supplies, one or more wired or wireless networkinterfaces, one or more input/output interfaces, or one or moreoperating systems, such as Windows Server, Mac OS X, Unix, Linux,FreeBSD, or the like.

Throughout the specification and claims, terms may have nuanced meaningssuggested or implied in context beyond an explicitly stated meaning.Likewise, the phrase “in one embodiment” as used herein does notnecessarily refer to the same embodiment and the phrase “in anotherembodiment” as used herein does not necessarily refer to a differentembodiment. It is intended, for example, that claimed subject matterinclude combinations of example embodiments in whole or in part. Ingeneral, terminology may be understood at least in part from usage incontext. For example, terms, such as “and”, “or”, or “and/or,” as usedherein may include a variety of meanings that may depend at least inpart upon the context in which such terms are used. Typically, “or” ifused to associate a list, such as A, B or C, is intended to mean A, B,and C, here used in the inclusive sense, as well as A, B or C, here usedin the exclusive sense. In addition, the term “one or more” as usedherein, depending at least in part upon context, may be used to describeany feature, structure, or characteristic in a singular sense or may beused to describe combinations of features, structures or characteristicsin a plural sense. Similarly, terms, such as “a,” “an,” or “the,” again,may be understood to convey a singular usage or to convey a pluralusage, depending at least in part upon context. In addition, the term“based on” may be understood as not necessarily intended to convey anexclusive set of factors and may, instead, allow for existence ofadditional factors not necessarily expressly described, again, dependingat least in part on context.

The Information Age has made available different types of content to theusers via various modalities. Digital devices delivering text, audio andvideo data are used around the world to transfer information almostinstantaneously. This can include publicly available content such as,live broadcasts of events, movies or television shows or personalcontent such as, emails, audio and video messages exchanged betweendifferent users. However, among the various forms of digital content,video content is one of the most resource intensive type of data to betransmitted over the networks. Moreover, as modern consumers havelimited time to view or consume all the content they receive, providinghighlights of various content items can save resources for the providerswhile enabling consumers to balance their information needs with thetime at their disposal. Generating highlights of various content itemssuch as the musical/sport/news events or television shows provides aconvenient way to deliver a sizable amount of information distilled intosmaller time periods while optimizing the resources. Generally,highlights of a particular event are produced based on parts of theevent that are most exciting to the majority of the viewers or audience.However, different users can have different preferences with regards toa particular content item. For example, different users may preferhighlights oriented towards different players or different teamsinvolved in a particular sporting event. Therefore, producingpersonalized content, such as highlights of media items including butnot limited to a video or an audio content item customized to a user'spreferences, adds value to the content for users while leading togreater usage among the users for the content provider.

Turning now to the figures, FIG. 1 is a block diagram of an embodimentwherein a computing device or client device 102/104 communicates with aserver computer 106 executing a content providing engine 100, over anetwork 108 such as the Internet. The client devices 102/104 areemployed by users to display a user interface 112 associated with thecontent providing engine 100 such as an audio/video player displayed viaa web browser or a stand alone player application or a mobileapplication, referred to herein as “app”. In one embodiment, the userinterface 112 includes a query entry area 114 where a user can enter aquery or request for content. The requested content/media item 116 isretrieved and transmitted by the content providing engine 100 based forexample, on the user privileges or other criteria. In an embodiment, thecontent/media item 116 can be generated automatically as will bedetailed further infra. In an embodiment the content 116 requested bythe user can be personalized to the user's preferences. Suchpersonalized content can comprise, for example, segments from an audioor video media items featuring highlights selected per the user'spreferences. The content providing engine 100 accesses relevant mediaitems either from archives in the database 110 which are furtherpersonalized as will be described further infra prior to beingtransmitted to the user. Thus, highlights from an audio recording of amusical event or a play or a speech, or a video recording of anews/sports/television/Internet broadcast event or even a movie can begenerated by the content providing engine 100.

In an embodiment, the personalized content 116 can be automaticallyprovided without explicit user request on the user's home page based onthe entities associated with the user's interests. Various methodologiesas detailed herein such as explicitly requesting user input or implicitinput collected by monitoring user behavior can be used to identifyentities, such as but not limited to, personalities, locations, issuesor institutions of interest to the user. The personalized content 116thus provided can be updated as new content associated with suchentities becomes available to the content providing engine 100. In anembodiment, the personalized content 116 is generated based on variousattributes and domain-specific parameters. The attributes of suchpersonalized highlights can include but are not limited to, the totallength of the personalized content to be generated, length of eachsegment in the personalized content or number of media segments in thehighlights. These attributes can be explicitly derived from userpreferences or they can be implicitly obtained by monitoring userbehavior and which attributes may vary from user to user or, for thesame user, they may vary from one request to another. In addition, thepersonalized content 116 is generated based on metadata associated witheach of the media items from which the personalized content 116 orpersonalized highlights are generated. Thus, by the way of illustrationand not limitation, there can be some metadata, such as length of aparticular clip/fragment/segment, a unique database id, a “level ofinterest” variable indicating the extent of user interest in thesegment, which can be commonly defined for each media segment regardlessof the type of content associated therewith. In an embodiment,domain-specific metadata can be additionally defined for a media segmentbased on the type of content or a particular event type being associatedwith the media item from which the media segment is obtained. Thus,media segments obtained by partitioning different media items from thesame domain can have similar domain-specific metadata associatedtherewith. For example, two video clips obtained from videos of twodifferent football games can have similar metadata associated therewith.

In an embodiment, the implicit or explicitly received user input orparameters associated with the user profile/account are analyzed toobtain the attributes and the metadata required to generate thepersonalized content 116. For example, if the user desires to watchpersonalized video highlights of a sporting event, the content providingengine 100 can generate such personalized video highlights based onparameters in the user request which are mapped to the domain-specificmetadata defined in the content providing engine 100 for the particularsport. In the case of the sporting event, the domain-specific metadatacan comprise but is not limited to, the type of sport being played, theteams, the players involved in the sporting event(s), the type of playthe user is interested in or other parameters associated with the eventby the virtue of the event belonging to a particular type of sport inthe sports domain.

In an embodiment, the parameters can be preset within a user account andmay be retrieved therefrom. The user account can be a Fantasy Sportsaccount, for example, associated with Fantasy Football, and the metadatafor generating personalized video highlights of a football match can beobtained from the user parameters/preferences set within the user'sFantasy Football account. Thus, when the user queries for highlights ofa football match, the players on the user's roster within the FantasyFootball account can be automatically accepted as implicit inputparameters for generating the personalized content 116. Accordingly,highlights which feature such players can be dynamically generated. Inan embodiment, the user can provide particular temporal parameters forgenerating personalized content. For example, the user can query for avideo comprising of all the key plays made within the past week byplayers on the user's roster. In an embodiment, the personalized content116 can include images of players in the user's Fantasy Football team,and by clicking on a player, the user can see highlights or a list ofplays of the player in a time frame specified by the user or a defaulttime frame preset within the content providing engine 100. In anembodiment, a highlight reel of the user's team showing fragments orsegments associated with the players on the user's Fantasy sports rosterranked by their fantasy point contribution, recency and popularity amongthe users at large can be automatically provided to the user on the mainpage. A user seeing the list of scores of his favorite players canchoose to watch them or upvote his favorite ones. In an embodiment, thehighlights can be ranked by the point contribution of the player. In anembodiment, the highlights can be ranked by their respective popularityamong all the viewers.

In an embodiment, the user can request personalized highlights relatedto a news item or a television network broadcast item. For example, theuser can query for a one hour personalized video and/or audio highlightsof the State of Union addresses given by the current U.S. president inthe past three years. Similarly, the user can query for a thirty minutepersonalized video comprising highlights of all the episodes of aparticular television series broadcast over the last fortnight featuringthe user's preferred actor/character. Again, in both the aforementionedsituations, the personalized content 116 is generated based on acombination of general attributes and domain-specific metadata which isrecognized from the parameters obtained in the user requests. Thegeneral attributes as discussed supra can include but are not limitedto, the total length of the personalized content to be generated, lengthof each segment in the personalized content or number of media segmentsin the highlights. The domain-specific metadata used for generatinghighlights of the State of Union addresses in one embodiment can includebut are not limited to, identity associated with the news event,time/date of occurrence of the event, entities, such as personalities,locations or organizations associated with the news event. Thedomain-specific metadata used for generating highlights of thetelevision series can include but are not limited to, the identity ortitle of the show, the date/occurrence of the episodes, the actors orcharacters featured in the episodes, the time period (e.g., starting andending times) of each scene in an episode.

The generation of the personalized content 116 is facilitated by acontent index 122 built from the different content supplied to theserver 106. In an embodiment, the content index 122 can be database thatcomprises database tables associated with various content items. In anembodiment, the content index 122 can comprise tables that indexinformation related to audio content items which comprises metadata ofsegments and optionally the segments within audio content items that arelikely to be of particular interest to users. In an embodiment, thecontent index 122 can comprise tables that index information related tovideo items and which comprise metadata of segments within video contentitems that are likely to be of particular interest to users. In anembodiment, the content index 122 can comprise a plurality ofdomain-specific database tables which index metadata of content itemsfrom respective domains. Thus, by the way of illustration and notlimitation, the content index 122 can comprise a database tableincluding metadata associated with the video segments obtained from thevarious football games. In an embodiment, the content index 122 can alsocomprise the video segments in addition to their respective metadata.Similarly, the content index 122 can comprise a disparate database tableincluding metadata of video segments featuring various natural disastersthat occurred around the world.

In an embodiment, the content index 122 is generated from a content itemby partitioning or dividing the content item into various segments orclips based on the characteristics of its respective domain. In anembodiment, the content index 122 can be created by observing userbehavior as the users view or otherwise interact with the content andflagging parts of the media items that are determined to be ofparticular interest to the users. In an embodiment, data feed fromsocial networking services, such as TWITTER or data from the search logscomprising search histories of users can be used to identify particularinteresting segments of a media item in accordance with embodiments asdescribed further infra. When personalized audio/video highlights are tobe generated, the content providing engine 100 accesses the contentindex 122, identifies segments from one or more media items, whichsegments have metadata matching the user's parameters and dynamicallyassembles the segments of the media item(s) in a manner that isimplicitly or explicitly requested by the user and the resultingpersonalized content 116 is transmitted to the user. Therefore, inaccordance with an embodiment, the content providing engine 100 isconfigured to provide personalized content generated on the fly.

In an embodiment, the content index 122 can be generated fromcontent/media items 152 streamed from a network entity, such as, thefeed manager 120 or from content/media items which can be comprisedwithin the stored content 154 of the database 110 and accessible to thecontent providing engine 100. It may be appreciated that the contentindex 122 and the stored content 154 are shown as being comprised withinthe database 110 only by the way of illustration and not limitation andthat each of the content index and the stored content 154 can comprise aplurality of modules which may be distributed over different databasescoupled via communication networks such as network 108. In anembodiment, the content index 122, can be generated from a text filecomprising a list of events. By the way of illustration and notlimitation in the case of a sporting event such as a basketball game ora football game the content index 122 comprising metadata for thesegments from a video recording of the game can be generated from thegame log that indexes events based on the game clock. For example, for afootball game, the game log can include a textual description of thegame, such as, “At 3:02:43, at 3^(rd) down with 7 yards to go on his own32-yard-line, Roethlisburger took the snap and handed off to Hamilton,who ran yards for a first down before being tackled by Lambert andJohnson. The play ended at 3:02:51.” The metadata associated with themedia item corresponding to the list of events can comprise the startand end times, the line of scrimmage, the down, the yards to go, theplayers involved, their actions and the outcome of the play. In anotherexample, the content index for a basketball game can be generated fromthe scoring logs which record the assists made and shots taken by eachplayer, each possession and each defensive situation. The content index122 thus generated is employed by the content providing engine 100 inproducing personalized media programs as described in accordance withembodiments detailed herein.

In an embodiment, an advertisement server 150 can serve contextsensitive advertisements to be displayed on web pages or mobileapplications associated with the content providing engine 100. Althoughthe advertisement server 150 is shown in this embodiment as located onthe same server computer 106 as the content providing engine 100, it canbe appreciated that this is not necessary. The advertisement server 150can also be located with the feed manager 120 or it can also be locatedindependently on an external machine that is disparate from both theserver computer 106 and the feed manager 120. In an embodiment, an “adserver” can comprise a server that stores online advertisements forpresentation to users. “Ad serving” refers to methods used to placeonline advertisements on websites, in applications, or other placeswhere users are more likely to see them, such as during an onlinesession or during computing platform use, for example. Advertising maybe beneficial to users, advertisers or web portals if displayedadvertisements are relevant to interests of one or more users. In anembodiment, advertisements can be presented to users in a targetedaudience based at least in part upon predicted user behavior(s) or userprofile information.

FIG. 2 is a block diagram depicting certain modules within the contentproviding engine 100 in accordance with an embodiment. The contentproviding engine 100 comprises of a user monitoring module 210, acontent index generating module 220 and a personalized contentgenerating module 230. As discussed supra, when a user requestspersonalized content, the content providing engine 100 accesses acontent index 122 in order to generate content such as, audio/videomedia items personalized to the user's requirements.

In an embodiment, the content index 122 can be built from interestingsegments identified from media items by monitoring user behavior. Thecontent providing engine 100 can comprise a user monitoring module 210that monitors and records user input or behavior of users as theyinteract with particular media items, for example, as they listen to,view or tag media items. The user behavior thus recorded is analyzed todetermine significant trends which can then be employed to identifyparticular segments of media items which will likely be of interest toother users. In one embodiment, the user monitoring module 210 cancomprise a receiving module 212 that receives as input various useractions such as but not limited to, fast forwarding, rewinding, pausing,repeatedly playing particular segments within an audio/video media item,playing a segment of a video at specific predetermined speeds,exchanging communication regarding a particular incident or segment of amedia item with social contacts or searching for a particular media itemor segment within the media item. In an embodiment, the user inputobtained by the receiving module 212 can additionally include feedbackfrom the users regarding personalized content provided to them by thecontent providing engine 100. Thus, if the users up-vote/like or tag orforward to contacts particular segments in personalized highlights, theymay have received from the content providing engine 100, such data isalso obtained by the receiving module 212.

The user input data thus obtained by the receiving module 212 can beaggregated from a large group of users who executed the various actionsand analyzed to determine significant trends. The user input data can bean initial user reaction to media item or it can be feedback to contentpersonalized by the content providing engine 100 based on theirrespective preferences. For example, when users are looking at the videoof a prior day's baseball game from a provider, such as, YAHOO!Connected TV, the user monitoring module 210 can identify from therecorded data that 2253 different users all fast-forwarded through thegame until they got to the spectacular upper-deck home run in the bottomof the third inning. The users saw the ball going farther than they hadever seen, stopped the fast forward, scrolled backwards to the moment ofthe pitch and then watched at a regular speed for twenty nine seconds onaverage, before fast-forwarding again. The user monitoring module 210can further comprise a recording module 214 that records such userbehavior patterns and flags the particular segment of the game video forfurther processing. For example, the user monitoring module 210 can beconfigured to identify specific actions and record the location of thecorresponding segment within the media item, for example in terms oftemporal data, when the number of users that execute the specificactions exceeds a particular threshold. In one embodiment, the userbehavior thresholds for different media items can be preset based onpreviously obtained viewership data for the particular content type. Inan embodiment, a particular segment identified by the user monitoringmodule 210 can be brought to the attention of a human editor who canthen tag the event with appropriate metadata and further promote itamong various distribution channels. In an embodiment, the user behaviordata of a particular media item as obtained by the user monitoringmodule 210 can be communicated to the content index generating module220 which can further process such data for generating and/or updatingthe content index 122.

As described supra, the content index 122 is generated by analyzing themedia items or information associated therewith which are accessible tothe content providing engine 100 via different sources. In anembodiment, the content index generating module 220 initially generatesthe content index 122 by partitioning or dividing or fragmenting a mediaitem into clips or segments based on certain domain-specificcharacteristics. For example, in the case of a basketball game, thevideo of a game can be divided into clips/segments based on possessions.There are typically on the order of two hundred possessions in an NBAgame. In an embodiment, the content index generating module 220 furthercomprises an analysis module 222 which receives as input, gametrackertype of data that is available to the content providing engine 100 alongwith the video recording of the game. In addition, the analysis module222 can also receive as input, the game log which indexes events basedon the game clock. Thus, based on such input data, the video recordingof the basketball game can be initially divided into segments based onthe characteristic specific to the basketball domain, namely,possessions. Similarly, a video recording of a baseball game can beinitially divided into segments based on the domain-specificcharacteristic of pitches. There are on the order of two hundred andfifty such events per game. Thus, various media items are initiallysegmented based on their respective domain-specific characteristics. Inone embodiment, the segments thus obtained can be stored as an archiveof clips as part of the stored content 154.

In an embodiment, the analysis module 222 further identifies parts orsegments of the media items and/or the segments or clips from the storedcontent 154 that are of particular user interest via informationcontained within the items or segments in addition to informationreceived from the user monitoring module 210. In an embodiment, theanalysis module 222 can further extract segments from media items, inaddition to the initially obtained domain-specific segments, for storingwithin the database 110 based on user interest or other input as will bedescribed herein. In an embodiment, the analysis module 222 isconfigured to identify those segments of media items that users may beinterested in addition to the segments generated based ondomain-specific characteristics. For example, in a NFL game, viewers canbe interested in parts of video recordings showing Tim Tebow gettingdown on a knee to pray which may not be identified or extracted based onthe domain-specific characteristics of football. Hence, such segments ofmedia items are identified by the analysis module 222 based on theinformation received from the user monitoring module 210. Additionally,automated methods such as, analyzing audio/video information, textprocessing of closed caption information, Internet search queries,messages exchanged between users on social networks, official scoring ofa game in the case of sporting events can be used to identifyinteresting segments of a video and to build the content index 122 inaccordance with one embodiment.

In an embodiment, audio information associated with the video clip, suchas, spectator applause can be employed in identifying segments of avideo that can be of potential interest to the user. For example, in thecase of sporting events, if the audio track is of good quality, asegment of the corresponding video recording can be identified as beingof interest to the users based on the type of audience reaction to it.Thus, important player which are cheered loudly by the audience, or badcalls by referees in key moments of the game that elicit differentreactions from the audience can be identified by the analysis module 222from the audio track of the game.

In an embodiment, image processing data, such as, face recognition orrecognition of other indicia such as, a uniform number of a player at asporting event, camera angles, positions of players in certain sportslike baseball or cricket can be employed to identify segments of a videothat can be of interest to users. In an embodiment, the interestingsegments can be indentified and the associated metadata for the contentindex 122 can be created by human editors. In one embodiment, theindicia employed in identifying interesting segments of a media item canalso be recorded as metadata associated with the particular segmentwithin the content index 122.

The analysis module 222 thus analyzes the particular segments marked bythe user monitoring module 210 as being associated with significant userbehavior trends to obtain metadata corresponding to such segments. Bythe way of illustration and not limitation, the metadata associated withthe segment can comprise a unique identifier (id) of the segment, anidentity of the media item from which the segment is taken e.g., name ofthe event featured in the media item or title of the media item or mediaitem id within the stored content 154, the type of media item e.g.,audio/video item or format of the audio/video item, the temporalmetadata associated with the media item e.g., time of occurrence if themedia item is associated with a news event or a television show,entities associated with the media item e.g.,personalities/locations/organizations/issues/animals associated with themedia item, the start and the end times or time offsets of the segmentwithin the media item, a sequence id identifying the particular segmentin a sequence of segments generated from the media item and optionallyidentity of other segments within the media item with which an extractedsegment can be linked. In an embodiment, an emotional metadata elementcan be associated with the media segment. The emotional metadata can beused to characterize a particular media segment as “funny”,“spectacular” “important”, “sad” or other adjectives. Thevalues/adjectives for this metadata element can either be provided byhuman editors tagging the media item or it can be automatically derivedby the analysis module 222 based on the adjectives included in the usercomments or tags associated media segment or even live commentator inputobtained by analyzing the sound track. Automated methods such asanalysis of the audio/video data of the media, text processing of closedcaptioning information, user tags, messages exchanged by users on socialnetworking platforms, or comments posted by the users and informationavailable from the content provider publishing/broadcasting the mediaitem can be employed in identifying the metadata of the segment.

Therefore, in one embodiment, the metadata can be partially obtainedfrom the user monitoring module 210 itself in addition to beinggenerated by the content index generating module 220 via automatedprocedures. The metadata identified by the analysis module 222 isprovided to the generation module 224 which creates or updates thecontent index 122 within the database 110. The content index 122, in oneembodiment, can comprise one or more database tables associated withparticular content types or associated with particular event typeswithin the same content type. For example, the content index 122 canhave different metadata associated with audio segments and videosegments. As detailed herein, the metadata associated with a mediasegment can be characteristics or attributes of the segment itself inaddition to having certain domain-specific characteristics as metadataassociated therewith.

In an embodiment, each segment recorded in the content index 122 hasassociated therewith a ‘level of interest’ variable as part of themetadata. The level of interest variable facilitates human editors orautomated processes/modules to quickly identify segments that will be ofinterest to a greater number of users as compared to segments that willappeal to a more limited audience/users. In an embodiment, the level ofinterest variable can be associated with a finite number of values thatdefine an increasing or decreasing scale of user interest. For example,the level of interest variable can have its values defined from thegroup of numbers [0, 1, 2, 3] with 0 indicating that the segment willappeal to few users while 3 indicates a potentially popular segment.Therefore, media segments with their level of interest variable set to 0may be either be deleted completely from the dataset of media segmentsas being of low-value or they may be included in personalized contentfor only a limited number of users. For example, in the case of a videorecording of a sporting event, segments associated with time-out breaksor beginning of possessions in a basketball game when players advancethe ball to the opponent's court without any interesting action can beremoved as being “low-value”. If the level of interest variable is setto 3 for a media segment, it indicates that the segment will be likelybe universally popular and hence can be included in almost allpersonalized content associated with the particular media item fromwhich the segment is identified. In one embodiment, a segment having thelevel of interest variable set to 3 can be promoted as a stand aloneclip to all the users receiving content from a content provider. It maybe appreciated that the aforementioned scale is described by the way ofillustration and not limitation and that other scales or modes can alsobe used to indicate the likelihood of popularity of a given media clip.In one embodiment, the popularity of a particular segment of a mediaitem/content item can be predicted based on an initial data of users whoexecuted particular actions such as but not limited to rewinding,repeatedly playing, tagging, forwarding to or discussing the segmentwith social contacts, pausing, playing at a certain speed, normalizedover the total number of users who viewed or otherwise interacted withthe media item. Thus, the generation module 224 can create or update thecontent index 122 to comprise the metadata of the segments extractedfrom media items.

The content providing engine 100 also comprises a personalized contentgenerating module 230 which employs the content index 122 to generatepersonalized content in accordance with embodiments described herein.When a request for personalized content along with requisite parametersis received by the content providing engine 100, the personalizedcontent generating module 230 employs the received parameters toidentify from the content index 122 the relevant content such as, butnot limited to, media items, segments of media items or combinationsthereof that meet the user's parameters. In an embodiment, at least someof the user specified parameters can be matched to the metadata of themedia items or segments of media items for retrieving the relevantcontent. The retrieved content is arranged in accordance with the user'sparameters or other default settings as configured within the contentproviding engine 100 to generate personalized content 116 which is thentransmitted for display to the user.

FIG. 3 is a block diagram depicting certain modules within thepersonalized content generating module 230 in accordance with anembodiment. The personalized content generating module 230 can comprisean input module 310, a retrieval module 320 and a presentation module330. The input module 310 receives requests for content from userdevices 102/104. In an embodiment, the request can be automaticallygenerated, for example, upon the user clicking on a particular imagedisplayed on the home page or customized highlights can be automaticallygenerated based on user preferences preset within the content providingengine 100. In an embodiment, the request can be generated by a user whocan specify various parameters for generating the personalized content.For example, for generating personalized highlights of a football game,users can specify how long a reel they want to see, whether they wouldlike to see more offense than defense along with their preferredplayers. If all the requisite parameters for retrieving relevant contentare not provided in the initial user request, a dialog can be conductedwith the user in order to obtain the necessary information in accordancewith an embodiment. In an embodiment, certain parameters such as, lengthof the personalized content to be produced or the number of segments tobe included in highlights customized to a user request can be presetwithin the personalized content generating module 230. It can beappreciated that values for some of the parameters can be set by defaultbased on values of other parameters. For example, based on the number ofsegments and length of each segment, the total time period of a reel ofpersonalized highlights is set by default.

The information associated with a user request for personalized contentobtained by the input module 310 is communicated to the retrieval module320 which matches the parameters from the users requests or user querieswith the metadata of media items as stored in the content index 122 andretrieves relevant content such as, one or more media items or relevantsegments of media items or combinations thereof. In an embodiment, theretrieval module 320 is configured to identify or select those segmentsof media items whose metadata in the content index 122 matches theparameters in the user request as being relevant to the user. In anembodiment the retrieval module 320 can retrieve a plurality of mediasegments or clips which can be linked together or which may beoverlapping. Such clip linking can either be based on domain-specificrules and can be additionally tuned with user input using standardlearning rules.

The retrieved content is transmitted to the presentation module 330which can further forward the content to the user device 102/104. In anembodiment, the presentation module 330 further arranges the content inaccordance with predetermined parameters supplied by the user or aspreset within the content providing engine 100. In an embodiment, theuser can specify within the user query/request for personalized content,the parameters associated with arranging highlights of an event, such asa baseball game, which may be different from the actual temporal orderof occurrence of the events. However, the presentation module 330arranges the segments of the highlights of the game in accordance withthe user-specified parameters thereby providing content personalized tothe user's preferences. In an embodiment, presentation module 330 canarrange the segments in a default order based on data available withinthe content providing engine 100.

FIG. 4a shows a flow chart 400 illustrating an embodiment of a method ofgenerating a content index. The method begins at 402 wherein a mediaitem is retrieved either from content stored in a database or via a feedmanager. At 404, the domain based characteristic or criterion fordividing the media item into segments are obtained. In one embodiment,the criteria domain-specific criteria for segmenting a media segment canbe determined by a human editor. Different criteria can be set withinthe content providing engine for fragmenting different media items orextracting segments from the media items based on the criteria that areunique to the domains with which such items may be associated. In oneembodiment, the domain of a media item can depend on the type of eventrecorded by the media item. This can facilitate obtainingcharacteristics for segmenting the media item. In one embodiment domainscan be broadly defined as a political, sporting or cultural domains. Bythe way of illustration and not limitation, domains can be defined morespecifically e.g., the sports domain can be further divided based ondifferent types of sports such as football, basketball, baseball,cricket etc., or the cultural domain can be further divided intotelevision, concerts, Internet content, movies etc. The media item isthus segmented based on domain-specific characteristics as shown at 406.

At 408, an importance score is determined for each of the segmentsrelative to other segments extracted from the media item. For example,in a recording of a sporting event, a segment associated with a gamechanging event can have the highest importance score. In an embodiment,the importance score can be a relative rank of a segment normalized bythe number of segments extracted from the media item. In an embodiment,the importance score can be uniformly defined for the segments acrossvarious domains. This facilitates comparison of various clips orsegments from different domains for inclusion into the personalizedcontent. Thus, the content providing engine 100 can determine whether toshow a third highlight from game 1 or the second highlight from game 2even if game 1 and game 2 belong to different domains.

In one embodiment, the importance score of a segment can be obtained orupdated via user interaction data obtained from online sources such asbut not limited to, social networking platforms or search engines. In anembodiment, the importance score can be the same as the level ofinterest variable described supra. In an embodiment, an importance scorecan differ from the level of interest variable for a given segment sincea particular incident recorded in a segment may be of great interest tothe users but may not be important to the proceedings at an event. Thedifference in the level of interest variable and the importance scorecan indicate such segments.

In an embodiment, data on search queries can be used to identifyparticularly important subjects or segments in media items. For example,search data regarding NFL player names can be analyzed and if aparticular player (like “Ben Roethlisberger”) experiences more queriesthan usual in a particular hour, the importance score of clips relatingto that player can be increased as it is most likely that there was aparticular play that stimulated such searches. Additionally, morespecific data on search queries such as, “Roethlisberger touchdown thirdquarter”, can help narrow down which particular segment of thecorresponding game should be promoted. The importance score can thusincrease the probability that the particular video segment is includedin the personalized content provided to users. Similarly, for apolitical debate, users can search particular phrases ofspeeches/answers and that can help in identifying popular segments andsetting their importance score. The importance score thus determined canbe further augmented or adjusted via feedback from users of the contentproviding engine 100 as will be detailed further infra.

At 410, different metadata associated with each of the segments asdetailed herein is obtained. As discussed supra one of the metadata thatis obtained can include temporal metadata associated with the beginningand the ending time of the segment. In one embodiment, the temporalmetadata can comprise a plurality of starting points and/or endingpoints so that personalized highlights of different time periods can begenerated. Therefore, in accordance with this embodiment, segments of amedia item can comprise two starting points one for longer highlightsand one for shorter ones thereby providing greater flexibility incustomizing the end product. For example, if a user wants to seehighlights from a particular sporting event, then the longer highlightscan be shown whereas shorter highlights can be shown if the userrequests to see all dunks by a particular basketball player over theprevious month. In accordance with an embodiment, a database entry isgenerated for each of the segments in a database table corresponding toa respective domain which comprises appropriate data structures toreceive the metadata of the segments and the metadata thus obtained forthe segments is stored in respective database entries in the contentindex 122 as shown at 412. In an embodiment, the importance score ofeach segment obtained at 408 can be part of the metadata associated withthe segments and hence can be stored in the content index 122.

FIG. 4b shows a flowchart 450 illustrating an embodiment of a method ofgenerating a content index. The method begins at 452 wherein content isprovided to a plurality of users. In an embodiment the content cancomprise a media item such as an audio item including but not limitedto, an audio recording of a speech, a song or a commentary of a sportingevent. In an embodiment, the media item can be a video item, such as butnot limited to, a live or recorded video transmission of a sportingevent, a news event, a movie or a network program broadcast viatelevision or Internet channels. In an embodiment, the content providedto the users can comprise personalized highlights or segments from aplurality of media items selected based on the users' preferences.

At 454, behavioral data of the plurality of users, for example, varioususer interactions or inputs provided by the plurality of users as theyperceive the received content are recorded. In an embodiment, the userevents generated from the audio/video players employed by the users viatheir devices 102/104 can be recorded. These can comprise withoutlimitation, fast forwarding, rewinding, pausing, tagging, playing at alower speed, downloading, forwarding to contacts or other ways thatusers can interact with a media item. Accordingly, at 456, significanttrends in user behavior that occur as the users perceive the receivedcontent are identified as will be detailed further infra. At 458, it isdetermined if the content associated with the significant behavioraltrends is a segment of a media item which already has an existingdatabase entry recorded in the content index 122. If there is apre-existing database entry for the content in the content index 122, itis determined that the content is a segment. Accordingly, one or more ofthe level of interest variable and importance score can be revised orrecalculated as shown at 460 based on new behavioral trends identifiedat 456. For example, the media player providing the content can includetools to allow users to up-vote or “like” an interesting or importantclip in addition to allowing them to tag the clip with descriptive wordsthey find helpful. Also, analyzing data on user views of each mediasegment can facilitate in determining the importance score of thesegment. Thus, if a user views a clip a second time, it can bedetermined with substantial certainty that the segment is important.Thus, the content providing engine 100 can employ user feedbackassociated with the personalized highlights or content initiallyprovided to the user in further refining an initially determinedimportance score of a media segment. The determination on whether theimportance score and/or the level of interest variable should be updatedcan be based on whether the segment shows content that is significant tothe event which can be derived via other metadata such as but notlimited to the special event metadata element as described herein. Thecontent index 122 is then updated with the new value(s) as shown at 468and the procedure terminates on the end block.

If it is determined at 458 that the content associated with significantuser behavior is not a segment, temporal data associated with thesignificant user trends is obtained. For example, the beginning and theending time offsets of the part of the media item which is associatedwith the user behavioral trends is obtained as shown at 462. Based onthe temporal data, the segment can be extracted for storage in e.g.,stored content 154 and an entry for the new segment is created in thecontent index 122 as shown at 464. Thus, the segments of media itemsassociated with significant user behavior will be determined as beingparticularly interesting to the users.

At 466, metadata associated with the interesting segments is obtained.For example, in the case of a speech discussed supra, the users'rewinding of a specific part of the speech indicates particular userinterest in that segment of the speech. Similarly, in the case of thevideo of the sporting event, a significant number of users watching aparticular segment of the video in slow motion indicates that aninteresting event featured in that segment. Accordingly, indiciaidentifying the particular segment of the speech or video, such as, timeoffsets for longer and/or shorter highlights can be recorded at as partof the metadata associated with the segments as shown at 466. Inaddition, other metadata such as, the personalities or other entitiesfeatured in the particular segment, a topic of the particular segment, atype of play or other metadata can be obtained. As described supra, themetadata can be based on the type of event featured in the segment. Inan embodiment, a human editor can define metadata to be collected forvarious event types/domains or for different types of media items. Forexample, the metadata generated for a news event can differ from themetadata associated with a sporting event. Even within a particular typeof event, the metadata generated can vary based on furthercategorization of the event type. For example, the metadata associatedwith different sports, such as football, chess or hockey can vary.Similarly, the metadata associated with different news events can varybased on a sub-categorization of the news segment. For example, themetadata associated with a political news event can differ from themetadata associated with a financial news event or a news event relatedto a natural phenomenon such as a natural disaster. In an embodiment,the metadata obtained at 466 can also comprise metadata generated basedon user interaction data obtained at 454. For example, an initial valuefor the level of interest variable for each of the segments can bedetermined at 466. At 468, the metadata thus obtained is recorded to thecontent index 122. The content index 122, in accordance with oneembodiment, can be an indexed database table comprising the metadatawhich in turn is linked to an archive (e.g., stored content 154) withinthe database 110 comprising one or more of media items or interestingmedia segments or clips isolated from the media items. In an embodiment,the database table that makes up the content index 122 may also comprisethe interesting media segments stored therein.

FIG. 5 shows a flowchart 500 illustrating an embodiment of a method ofobtaining significant user interaction data. The method begins at 502wherein user interaction data corresponding to a media item is obtained.As discussed supra, the users can choose to interact in different wayswith the media item while perceiving it and at 502, such interactioninformation comprising various user actions that were executed and thetime offset associated with the media item at which they were executedare obtained. In an embodiment, the user actions can be recorded interms of other metadata, such as entities associated with the mediaitem. At 504, the different user interactions, such as but not limitedto, fast forwarding, rewinding, playing at a particular speed, repeatedplay are identified from the data obtained at 502. At 506, one of theuser interactions is selected in accordance with one embodiment. It canbe appreciated that the processing of user interactions is shown asoccurring serially only by the way of illustration and that all the userinteractions can be processed simultaneously in parallel in a similarmanner. At 508, the number of users associated with the selected userinteraction is obtained and compared with a particular threshold asshown at 510. In an embodiment, the threshold for each user interactioncan be defined based on the selected interaction and/or the media itemassociated with the user interaction data thereby aiding in moreaccurately determining the trends in the user interaction data. If thenumber of users associated with the selected interaction is less thanthe threshold at 510, the selected user interaction is not recorded andthe process terminates on the end block. If the number of usersassociated with the selected user interaction is greater than thethreshold at 510, then the user interaction selected at 506 is recordedas a significant user interaction as shown at 512 which may beindicative of particular user interest or lack thereof in accordancewith embodiments as detailed herein. At 514, it is determined if a nextuser interaction can be identified from the user interaction data. Ifyes, the process returns to 506 for processing the next interaction,else it terminates on the end block.

FIG. 6 shows a flowchart 600 illustrating an embodiment of a method ofidentifying interesting segments of media items. The method begins at602 wherein particular user actions can be defined within the contentproviding engine 100 as being indicative of particular user interest. Inan embodiment, they are defined by human editors. Users perceiving amedia item can interact with the media item in several ways. Forexample, if the media item is a video, they may view it entirely atnormal speed taking the time required to actually play the media item.In other instances, the users can rewind certain parts or segments orclips of the media item to play it again or share them with socialcontacts or tag them with comments. Such user actions are indicativethat those parts or segments or the media item itself are particularlyinteresting to the users. For example, if the media item provided to theusers at is an audio recording of a speech, a large number of the usersmay pause at a particular point and rewind a specific part of thespeech. Similarly, if the media item is a video of a sporting event, asignificant number of users may rewind and watch a particular segment ofthe video in slow motion. In an embodiment, real-time online useractivity data can be indicative of interesting parts of the media items.Such real-time user activities can include without limitation, datafeeds from online social networking sources such as TWITTER or data fromsearch queries. Hence, such user actions can be predefined as beingindicative of user interest. Other interactions, such as downloading themedia item or forwarding the media item can also be considered asindicative of particular user interest. In an embodiment, different setsof user interactions can be predefined within the content providingengine 100 as being indicative of user interest for different media itemtypes or for different events featured in different media items. Forexample, a user action of playing at a lower speed can be indicative ofuser interest in relation to a video whereas it is not particularlyrelevant to an audio item. Similarly, user adjustment of finer audiocontrols, such as bass, treble, can be indicative of user interest inrelation to an audio/video item such as a musical recital and may havelittle or no relevance to a media item associated with, for example, amotor racing event. At 604, a particular media item along with storeduser interaction data indicative of significant trends in userinteractions is received. As described supra, the actions executed by asignificant number of users who perceive the media item are received at604 as part of the trends in the user interaction. In an embodiment, aplurality of trends associated with a plurality of user interactions canbe obtained at 604. The trends or their associated interactions can beordered based on, for example, the number of users associated with eachof the plurality of user interactions. At 606, a particular subset ofuser interactions predefined at 602 can be further selected based on thetype or media item and/or the events featured in the media item inaccordance with an embodiment. At 608, one of the significant userinteractions is selected and compared with the predefined userinteractions as shown at 610. If at 612, it is determined that there isno match, the process terminates on the end block. If at 612, theselected user interaction matches one of the predefined userinteractions from the selected subset of user interactions, theidentifying indicia of the corresponding segment of media itemassociated with the significant user interaction are obtained at 614. Inan embodiment, the indicia identifying the segment of the media item canbe time period associated with the significant user action. For example,if it is determined that a large number of users replayed a particularsegment of the media item, the identifying indicia of the segment of themedia item can be the beginning and the ending time offsets associatedwith the user replay. In an embodiment, data from social networkingsources like TWITTER can provide users real-time tweets to theircontacts about a certain incident. The temporal metadata of such tweetssuch as the minute and seconds of the tweets, as well as the text of thetweet can be used to identify a particularly interesting incident at alive event such as but not limited to a political, cultural or sportingevent. Accordingly, the segment is marked/recorded within the database110 as being of interest to the user as shown at 616. At 618, it isdetermined if a next user interaction needs to be analyzed. If yes, theprocess returns to 608 wherein the next user interaction is selected foranalysis else the process terminates on the end block.

FIG. 7 shows a flowchart 700 illustrating an embodiment of a method ofgenerating personalized content. The method begins at 702 wherein arequest for personalized content is received. In an embodiment, therequest can be made a user who desires to receive personalizedcontent/media items tailored or customized to particular parametersprovided implicitly or explicitly in the request. For example, the usercan press a button on a user interface while logged into a Fantasymobile ‘app’ or while logged into Fantasy sports in a browser, in orderto request personalized content. In an embodiment, the request can begenerated automatically for updating a user when the user logs into theuser's account associated with a certain service platform, e.g., FantasySports or the request can be automatically generated if the user'saccount is to be periodically updated. At 704, various parametersassociated with personalized content are obtained. In an embodiment, theuser request can be parsed and analyzed via natural language processingtechniques to obtain data/metadata associated with the user query. In anembodiment, additional parameters, such as those not supplied in theuser request, can also be preset within the content providing engine100. At 706, various content items such as media items or segments ofmedia items or combinations thereof are obtained based on theparameters. In an embodiment, the parameters obtained from the userrequest are matched to the metadata associated with media items and/orsegments of media items from the content index 122 and those contentitems whose metadata matches the parameters are obtained. At 708, asubset of the retrieved content items can be selected for presentationto the user. In an embodiment, when sufficient number of content itemsare not retrieved this step can be omitted. However, if a large numberof content items or greater number of content items than a numberspecified in a request are obtained, a subset of the retrieved contentitems can be selected as shown at 708. In an embodiment, the contentitems can be selected based on their respective level of interestvariables. In an embodiment, the content items can be selected based ontheir respective importance scores. At 710, the retrieved/selectedcontent items are arranged in accordance with various criteria. In oneembodiment, the criteria can include implicitly or explicitly provideduser preferences. If no user preferences are provided, the media itemsmay be arranged in a default order. In an embodiment, the userpreferences can be obtained from the various parameters obtained at 704.For example, if the media segments are obtained from media items relatedto sports/news events, then such segments may be arranged in a defaultorder of a temporal sequence of occurrence of events or in thedescending order of their respective importance score if the user doesnot specify a particular order for arranging the segments. In anembodiment, the user can provide an sequential list of entities in whichto order the retrieved media items/segments. For example, the user canspecify a list of players in a descending order of preference whoseplays the user desires to see. In an embodiment, the media items can beordered based on a combination of user preferences andparameters/metadata of the segments as given in the content index 122.Accordingly, segments or media items featuring the user's preferredplayers are arranged in the user specified order and within the userspecified order they may be arranged based on their respective values oflevel of interest variable for transmission to the user. In anembodiment, the segments showing highlights of a sporting eventfeaturing the user's preferred player/team can be arranged in order ofthe user's preferences rather than the temporal sequence of occurrenceof the events. At 712, personalized content is generated from thecontent items thus arranged. In an embodiment, the personalized contentcan include context relevant advertisements in addition to the retrievedcontent items. The personalized content is transmitted to the user asshown at 714.

FIG. 7b shows a flowchart 750 illustrating an embodiment of a method ofproviding personalized content in accordance with one embodiment. Themethod begins at 752 wherein a personalized home page or a personalizeduser interface screen associated mobile app is displayed. Thepersonalized home page can be associated with a content providerproviding personalized content to the user. In an embodiment, thecontent provider can provide personalized sports content to a user basedon the user's Fantasy Sports account. In an embodiment, the personalizedhome page of the user can include information associated with aplurality of entities such as players on the user's Fantasy Footballroster or sports events that the user has explicitly expressed interestor events suggested by the content provider as being of likely interestto the user. At 754, a current user selection of one of the entities isreceived. For example, the user can click on an image of a player in theuser's roster of players or the user may select an event to receivehighlights of the event. In an embodiment, the user can provide acombination of the aforementioned parameters so that the user selects anevent and a player featured in the event for receiving personalizedcontent. At 756, the user's current selection is transmitted to thecontent provider. At 758, content personalized based on the userselection is received. Thus, the content received can include userselected entities, such as, player or event or combinations thereof. Inan embodiment, the personalized content transmitted to the user cancomprise different segments or clips or fragments of media itemsfeaturing the user selected player/event which have high values of alevel of interest variable which indicate that users who viewed mediaitems from which the segments were selected found the selected segmentsof the media items most interesting. For example, the previous users mayhave expressed their interest when they scrolled back to view thesegments in slow motion or viewed the segments a plurality of times ortagged the segments or shared information about the segments with socialcontacts. Accordingly, the level of interest variable gets updated basedon such user interactions as described herein and those segments withlevel of interest variable values indicative of high user interest areselected for inclusion into the personalized content received at 758.The received personalized content is displayed to the user as shown at760. At 762, user interactions with the personalized content executed asthe content is being displayed to the user are received. The userinteractions can include the aforementioned actions indicative of highuser interest. For example, a tool for tagging media items can beprovided on the user interface so that the user can tag the media item.In an embodiment, the user interactions can also include interactionssuch as fast forwarding or skipping to a next clip via a skip button onthe user interface which can indicate low user interest. At 764,information regarding such user interactions is transmitted to thecontent provider so that the content provider can update the level ofinterest variable and/or other metadata of the segments accordingly.

FIG. 8a is a schematic diagram illustrating a data structure comprisingdomain-specific metadata associated with basketball games in accordancewith one embodiment. It may be appreciated that the metadata isdescribed herein only by the way of illustration and not limitation andthat other features of the event and/or the domain can also be includedin different embodiments. As described herein a video recording of abasketball game is segmented based on possessions. In an embodiment,each segment of a video recording of a basketball game can comprisesegment metadata that is generally defined for all segments as describedherein such as but not limited to, starting and ending times of thesegment, total time period of the segment, a level of interest variable,importance score, a unique identifier for the segment within a databasetable, in addition to the domain-specific metadata described below. Inan embodiment, additional metadata can be described via tags asappropriate. For example, difference between “live possessions”—regularplays and “dead-ball possessions” i.e. free throws can be conveyed viatags. Upon segmentation, a database entry is created for each segment tostore respective values for the attributes listed in the metadatastructure 800 which is comprised in the content index 122. Thus, eachdatabase entry for each segment can comprise:

-   -   a. Time of the game 802,    -   b. The current score 804,    -   c. Which team is in the possession of the ball 806,    -   d. What is the result of the possession (score, turnover, steal,        miss, block, rebound) 808,    -   e. List of all the players on the floor at the time of the        possession 810,    -   f. List of players involved in the outcome of the possession and        their involvement 812. For example, if it is a possession ending        in a score, the name of the player taking the shot and the        player who assists. If it is a miss, the names of the player        taking the shot and rebounding. This data can be obtained from        the “gametracker” type of stream. In an embodiment, additional        data can be added to this entry (for example, who was assisting        on a shot that was a miss).    -   g. The result of the following possession 814—For example, if a        missed shot leads to a quick score of the opponents, it is an        indicator of a fast break after a miss, which makes the two        possessions a candidate for a segment showing the highlight.    -   h. Some of the plays may end up in technical or flagrant fouls        816—some of them later leading to a fine by the league. These        events along with other events which may or may not particularly        relate to the game can be added to the metadata under the        special events entry.

FIG. 8b is a schematic diagram illustrating a data structure comprisingdomain-specific metadata associated with baseball games in accordancewith one embodiment. It may be appreciated that the metadata isdescribed herein only by the way of illustration and not limitation andthat other features of the event and/or the domain can also be includedin different embodiments. As described herein a video recording of abaseball game is segmented based on pitches. Upon segmentation, adatabase entry in a metadata structure 850 comprised in the contentindex 122 is created, which database entry for each segment can comprisethe below described domain-specific metadata in addition to the generalmetadata described herein in accordance with different embodiments. Thevideo meta data can comprise details such as, inning, pitch, count,number of outs and position of baserunners. In particular, the metadatafor a media item associated with a baseball game can comprise:

-   -   a. Standard score data 854: inning, number of outs, current        count, which players are on the field, who is on which base.        Additionally, the x,y coordinates of the position of each pitch,        the speed of the pitch and the “break” or “curve”. This data is        available through the data feed and is known as PitchFx.    -   b. At-bat identifier 856, so all pitches within one at-bat can        be easily grouped, so a fantasy sports user can see easily all        at bats of a player on his roster.    -   c. Ranking of pitch importance within at-bat 858. Typically the        most important pitch will be the last pitch (because there was a        hit, out or walk associated with it) but other important pitches        could include: particularly bad calls on would-be walks or        strike outs (which can be identified from the PitchFx data),        steals, etc. If a player strikes out, all three strikes might        get high “importance” scores.    -   d. Bad call identifier 860. This is when the PitchFx data        indicates a strike (ball) and the pitch is actually called a        ball (strike).    -   e. Result of the at bat (for all pitches within that at bat)        862.    -   f. “Game changing” identifier 864. Using win probabilities the        impact of each pitch (and the resulting play) had on the outcome        of the game can be obtained. This can facilitate searching or        creating highlights, such as “show me the 4 most important plays        of this game” or “show me the 10 most important hits by this        player all year.”    -   g. Special events 866 at that pitch and at that at bat: pick-off        attempt, steal, balk, or other events.

FIG. 9 is an illustration 900 showing a media player 910 playing a videorecording of a sporting event. The media player 910 comprising differentuser controls can be employed to present personalized content to theuser on various user devices 102/104 and it can also be employed tocollect different user interaction data to identify interesting segmentsof the video recording in accordance with embodiments detailed herein.The media player has play/pause control 912 which allows a user to playor pause the recording and a slider control 914 which allows a user tofast forward or rewind a recording thereby allowing the user to play therecording at particular speeds. Therefore, if a user rewinds specificsegments of the video recording the data from the timer 916 can beobtained to identify the particular segments of the video which the userfound interesting. In addition the user is also provided with controlelement 918 which allows the user to share e.g., email, tweet, etc., thevideo recording with his/her social network, thereby further indicatinginterest in the video recording. In an embodiment, user comments to thesocial networking contacts while sharing the video can be analyzed toidentify user preferences and the type of reaction from the user to thecontent in the video recording. Such information can be used to generatethe metadata for the video recording or segments extracted from it.Additionally, controls can be further provided in the media player toallow the users to tag the video recording with comments that areindicative of their reactions, such as, “funny”, “interesting”,“spectacular” or other tags to particular segments of the video. Furthercontrols can be provided to allow the user to up-vote or “like” theparticular segment which can facilitate promoting the segment to otherusers.

As shown in the example of FIG. 10, internal architecture of a computingdevice 1000 includes one or more processing units (also referred toherein as CPUs) 1012, which interface with at least one computer bus1002. Also interfacing with computer bus 1002 are persistent storagemedium/media 1006, network interface 1014, memory 1004, e.g., randomaccess memory (RAM), run-time transient memory, read only memory (ROM),etc., media disk drive interface 1008, an interface 1020 for a drivethat can read and/or write to media including removable media such asfloppy, CD-ROM, DVD, etc., media, display interface 1010 as interfacefor a monitor or other display device, keyboard interface 1016 asinterface for a keyboard, pointing device interface 1018 as an interfacefor a mouse or other pointing device, and miscellaneous other interfaces1022 not shown individually, such as parallel and serial portinterfaces, a universal serial bus (USB) interface, and the like.

Memory 1004 interfaces with computer bus 1002 so as to provideinformation stored in memory 1004 to CPU 1012 during execution ofsoftware programs such as an operating system, application programs,device drivers, and software modules that comprise program code, and/orcomputer-executable process steps, incorporating functionality describedherein, e.g., one or more of process flows described herein. CPU 1012first loads computer-executable process steps from storage, e.g., memory1004, storage medium/media 1006, removable media drive, and/or otherstorage device. CPU 1012 can then execute the stored process steps inorder to execute the loaded computer-executable process steps. Storeddata, e.g., data stored by a storage device, can be accessed by CPU 1012during the execution of computer-executable process steps.

Persistent storage medium/media 1006 is a computer readable storagemedium(s) that can be used to store software and data, e.g., anoperating system and one or more application programs. Persistentstorage medium/media 1006 can also be used to store device drivers, suchas one or more of a digital camera driver, monitor driver, printerdriver, scanner driver, or other device drivers, web pages, contentfiles, playlists and other files. Persistent storage medium/media 1006can further include program modules and data files used to implement oneor more embodiments of the present disclosure.

FIG. 11 is a schematic diagram illustrating a client deviceimplementation of a computing device in accordance with embodiments ofthe present disclosure. A client device 1100 may include a computingdevice capable of sending or receiving signals, such as via a wired or awireless network, and capable of running application software or “apps”.A client device may, for example, include a desktop computer or aportable device, such as a cellular telephone, a smart phone, a displaypager, a radio frequency (RF) device, an infrared (IR) device, aPersonal Digital Assistant (PDA), a handheld computer, a tabletcomputer, a laptop computer, a set top box, a wearable computer, anintegrated device combining various features, such as features of theforgoing devices, or the like.

A client device may vary in terms of capabilities or features. Theclient device can include standard components such as a CPU 1102, powersupply 1128, a memory 1118, ROM 1120, BIOS 1111, network interface(s)1130, audio interface 1132, display 1134, keypad 1136, illuminator 1138,I/O interface 1140. Claimed subject matter is intended to cover a widerange of potential variations. For example, the keypad 1136 of a cellphone may include a numeric keypad or a display 1134 of limitedfunctionality, such as a monochrome liquid crystal display (LCD) fordisplaying text. In contrast, however, as another example, a web-enabledclient device 1100 may include one or more physical or virtual keyboards1136, mass storage, one or more accelerometers, one or more gyroscopes,global positioning system (GPS) 1124 or other location identifying typecapability, Haptic interface 1142, or a display with a high degree offunctionality, such as a touch-sensitive color 2D or 3D display, forexample. The memory 1118 can include Random Access Memory 1104 includingan area for data storage 1108.

A client device may include or may execute a variety of operatingsystems 1106, including a personal computer operating system, such as aWindows, iOS or Linux, or a mobile operating system, such as iOS,Android, or Windows Mobile, or the like. A client device 1100 mayinclude or may execute a variety of possible applications 1110, such asa client software application 1114 enabling communication with otherdevices, such as communicating one or more messages such as via email,short message service (SMS), or multimedia message service (MMS),including via a network, such as a social network, including, forexample, Facebook, LinkedIn, Twitter, Flickr, or Google+, to provideonly a few possible examples. A client device 1100 may also include orexecute an application to communicate content, such as, for example,textual content, multimedia content, or the like. A client device 1100may also include or execute an application 1112 to perform a variety ofpossible tasks, such as browsing, searching, playing various forms ofcontent, including locally stored or streamed video, or games (such asfantasy sports leagues). The foregoing is provided to illustrate thatclaimed subject matter is intended to include a wide range of possiblefeatures or capabilities.

For the purposes of this disclosure a computer readable medium storescomputer data, which data can include computer program code that isexecutable by a computer, in machine readable form. By way of example,and not limitation, a computer readable medium may comprise computerreadable storage media, for tangible or fixed storage of data, orcommunication media for transient interpretation of code-containingsignals. Computer readable storage media, as used herein, refers tophysical or tangible storage (as opposed to signals) and includeswithout limitation volatile and non-volatile, removable andnon-removable media implemented in any method or technology for thetangible storage of information such as computer-readable instructions,data structures, program modules or other data. Computer readablestorage media includes, but is not limited to, RAM, ROM, EPROM, EEPROM,flash memory or other solid state memory technology, CD-ROM, DVD, orother optical storage, magnetic cassettes, magnetic tape, magnetic diskstorage or other magnetic storage devices, or any other physical ormaterial medium which can be used to tangibly store the desiredinformation or data or instructions and which can be accessed by acomputer or processor.

For the purposes of this disclosure a module is a software, hardware, orfirmware (or combinations thereof) system, process or functionality, orcomponent thereof, that performs or facilitates the processes, features,and/or functions described herein (with or without human interaction oraugmentation). A module can include sub-modules. Software components ofa module may be stored on a computer readable medium. Modules may beintegral to one or more servers, or be loaded and executed by one ormore servers. One or more modules may be grouped into an engine or anapplication.

Those skilled in the art will recognize that the methods and systems ofthe present disclosure may be implemented in many manners and as suchare not to be limited by the foregoing exemplary embodiments andexamples. In other words, functional elements being performed by singleor multiple components, in various combinations of hardware and softwareor firmware, and individual functions, may be distributed among softwareapplications at either the client or server or both. In this regard, anynumber of the features of the different embodiments described herein maybe combined into single or multiple embodiments, and alternateembodiments having fewer than, or more than, all of the featuresdescribed herein are possible. Functionality may also be, in whole or inpart, distributed among multiple components, in manners now known or tobecome known. Thus, myriad software/hardware/firmware combinations arepossible in achieving the functions, features, interfaces andpreferences described herein. Moreover, the scope of the presentdisclosure covers conventionally known manners for carrying out thedescribed features and functions and interfaces, as well as thosevariations and modifications that may be made to the hardware orsoftware or firmware components described herein as would be understoodby those skilled in the art now and hereafter.

While the system and method have been described in terms of one or moreembodiments, it is to be understood that the disclosure need not belimited to the disclosed embodiments. It is intended to cover variousmodifications and similar arrangements included within the spirit andscope of the claims, the scope of which should be accorded the broadestinterpretation so as to encompass all such modifications and similarstructures. The present disclosure includes any and all embodiments ofthe following claims.

What is claimed is: 1-25. (canceled)
 26. A method, comprising: providing, by a computing device, content to a user; receiving, by the computing device, data of user behavior as the user interacts with the received content; identifying, by the computing device, using the received user behavior, interesting media items, the identified interesting media items being of interest to the user based upon the received user behavior; creating, by the computing device, an entry in a content index for the identified interesting media items; obtaining, by the computing device, metadata associated with the interesting media items, the metadata comprising indicia identifying the interesting media items; and recording, by the computing device, the obtained metadata to the content index via the created entry for later retrieval by the computing device.
 27. The method of claim 26, wherein the provided content comprises one or more of an audio item, a video item, and personalized highlights or segments from a plurality of media items selected based on the user's preferences.
 28. The method of claim 26, wherein the user behavior as the user interacts with the received content comprises user events generated from at least one of audio and video players employed by the user via the user's device.
 29. The method of claim 28, wherein the user events comprise an event from a group of events consisting of fast forwarding, rewinding, pausing, playing at a lower speed, downloading, and forwarding to contacts.
 30. The method of claim 26, wherein the user behavior comprises tagging performed by the user.
 31. The method of claim 26, further comprising: upon creating the entry in the content index, obtaining, by the computing device, temporal data associated with at least one of the interesting media items.
 32. The method of claim 31, wherein obtaining the temporal data associated with the at least one of the interesting media items comprises obtaining a beginning and an ending time offsets of the at least one of the interesting media items.
 33. The method of claim 31, further comprising: extracting, by the computing device, based on the temporal data, the at least one of the interesting media items for storage within the database.
 34. The method of claim 26, wherein at least a portion of the metadata associated with the interesting media items is based on a type of event featured in the interesting media items.
 35. The method of claim 26, wherein at least a portion of the metadata associated with the interesting media items is defined by a human editor for collection for various event types.
 36. The method of claim 35, wherein within a particular event type, the defined metadata varies based on a categorization of the event type.
 37. The method of claim 26, wherein the metadata associated with the interesting media items further comprises metadata generated based on the data of the user behavior.
 38. The method of claim 26, wherein receiving the data of the user behavior comprises obtaining an initial value for a level of interest variable for the received content the user interacts with.
 39. The method of claim 26, wherein identifying the interesting media items comprises: identifying, by the computing device, trends in the user behavior associated with the received content; and identifying, by the computing device, the interesting media items associated with the trends.
 40. The method of claim 39, further comprising: upon identifying the trends in the user behavior, determining, by the computing device, if content associated with the trends already has an existing entry recorded in a content index within a database.
 41. The method of claim 40, further comprising: upon determining that the content associated with the trends already has the existing entry, revising, by the computing device, one or more of a level of interest variable and an importance score based on the identified trends.
 42. The method of claim 26, wherein the content index is in communication with a database that stores content.
 43. The method of claim 42, wherein the content index comprises an indexed database table linked to the stored content within the database.
 44. A computing device comprising: a processor; a storage medium for tangibly storing thereon program logic for execution by the processor, the program logic comprising: providing logic, executed by a processor, for providing content to a user; receiving logic, executed by the processor, for receiving data of user behavior as the user interacts with the received content; identifying logic, executed by the processor, for identifying, using the received user behavior, interesting media items, the identified interesting media items being of interest to the user based upon the received user behavior; creating logic, executed by the processor, for creating an entry in a content index for the identified interesting media items; metadata obtaining logic, executed by the processor, for obtaining metadata associated with the interesting media items, the metadata comprising indicia identifying the interesting media items; and recording logic, executed by the processor, for recording the obtained metadata to the content index via the created entry for later retrieval by the computing device.
 45. The computing device of claim 44, wherein the identifying logic comprises: logic, executed by the processor, for identifying trends in the user behavior associated with the received content; and logic, executed by the processor, for identifying the interesting media items associated with the trends.
 46. A non-transitory computer readable storage medium, having stored thereon, processor-executable instructions for: providing content to a user; receiving data of user behavior as the user interacts with the received content; identifying, using the received user behavior, interesting media items, the identified interesting media items being of interest to the user based upon the received user behavior; creating an entry in a content index for the identified interesting media items; obtaining metadata associated with the interesting media items, the metadata comprising indicia identifying the interesting media items; and recording the obtained metadata to the content index via the created entry for later retrieval by the computing device. 